{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Keras ResNet classifier for CIFAR10 test\n",
    "ResNet32 network for CIFAR10 network test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The autoreload extension is already loaded. To reload it, use:\n",
      "  %reload_ext autoreload\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import keras\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense, Activation\n",
    "from data_utils import *\n",
    "\n",
    "%matplotlib inline\n",
    "plt.rcParams['figure.figsize'] = (10.0, 8.0) # set default size of plots\n",
    "plt.rcParams['image.interpolation'] = 'nearest'\n",
    "plt.rcParams['image.cmap'] = 'gray'\n",
    "\n",
    "import tensorflow as tf \n",
    "from keras import backend as k\n",
    "import os\n",
    "config = tf.ConfigProto()\n",
    "# config.gpu_options.per_process_gpu_memory_fraction = 0.1\n",
    "config.gpu_options.allow_growth = True\n",
    "k.tensorflow_backend.set_session(tf.Session(config=config))\n",
    "\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CIFAR10 Training data shape: (50000, 32, 32, 3)\n",
      "CIFAR10 Training label shape (50000, 1)\n",
      "CIFAR10 Test data shape (10000, 32, 32, 3)\n",
      "CIFAR10 Test label shape (10000, 1)\n"
     ]
    }
   ],
   "source": [
    "# get data\n",
    "cifar10_data = CIFAR10Data()\n",
    "x_train, y_train, x_test, y_test = cifar10_data.get_data(subtract_mean=True)\n",
    "\n",
    "num_train = int(x_train.shape[0] * 0.9)\n",
    "num_val = x_train.shape[0] - num_train\n",
    "mask = list(range(num_train, num_train+num_val))\n",
    "x_val = x_train[mask]\n",
    "y_val = y_train[mask]\n",
    "\n",
    "mask = list(range(num_train))\n",
    "x_train = x_train[mask]\n",
    "y_train = y_train[mask]\n",
    "\n",
    "data = (x_train, y_train, x_val, y_val, x_test, y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# test with resnet32\n",
    "resnet56 is inffered in the ResNet paper."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "__________________________________________________________________________________________________\n",
      "Layer (type)                    Output Shape         Param #     Connected to                     \n",
      "==================================================================================================\n",
      "input_3 (InputLayer)            (None, 32, 32, 3)    0                                            \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_44 (Conv2D)              (None, 32, 32, 16)   432         input_3[0][0]                    \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_44 (BatchNo (None, 32, 32, 16)   64          conv2d_44[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_41 (Activation)      (None, 32, 32, 16)   0           batch_normalization_44[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_45 (Conv2D)              (None, 32, 32, 16)   2304        activation_41[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_45 (BatchNo (None, 32, 32, 16)   64          conv2d_45[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_42 (Activation)      (None, 32, 32, 16)   0           batch_normalization_45[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_46 (Conv2D)              (None, 32, 32, 16)   2304        activation_42[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_46 (BatchNo (None, 32, 32, 16)   64          conv2d_46[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_20 (Add)                    (None, 32, 32, 16)   0           activation_41[0][0]              \n",
      "                                                                 batch_normalization_46[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_43 (Activation)      (None, 32, 32, 16)   0           add_20[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_47 (Conv2D)              (None, 32, 32, 16)   2304        activation_43[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_47 (BatchNo (None, 32, 32, 16)   64          conv2d_47[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_44 (Activation)      (None, 32, 32, 16)   0           batch_normalization_47[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_48 (Conv2D)              (None, 32, 32, 16)   2304        activation_44[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_48 (BatchNo (None, 32, 32, 16)   64          conv2d_48[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_21 (Add)                    (None, 32, 32, 16)   0           activation_43[0][0]              \n",
      "                                                                 batch_normalization_48[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_45 (Activation)      (None, 32, 32, 16)   0           add_21[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_49 (Conv2D)              (None, 32, 32, 16)   2304        activation_45[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_49 (BatchNo (None, 32, 32, 16)   64          conv2d_49[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_46 (Activation)      (None, 32, 32, 16)   0           batch_normalization_49[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_50 (Conv2D)              (None, 32, 32, 16)   2304        activation_46[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_50 (BatchNo (None, 32, 32, 16)   64          conv2d_50[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_22 (Add)                    (None, 32, 32, 16)   0           activation_45[0][0]              \n",
      "                                                                 batch_normalization_50[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_47 (Activation)      (None, 32, 32, 16)   0           add_22[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_51 (Conv2D)              (None, 32, 32, 16)   2304        activation_47[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_51 (BatchNo (None, 32, 32, 16)   64          conv2d_51[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_48 (Activation)      (None, 32, 32, 16)   0           batch_normalization_51[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_52 (Conv2D)              (None, 32, 32, 16)   2304        activation_48[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_52 (BatchNo (None, 32, 32, 16)   64          conv2d_52[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_23 (Add)                    (None, 32, 32, 16)   0           activation_47[0][0]              \n",
      "                                                                 batch_normalization_52[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_49 (Activation)      (None, 32, 32, 16)   0           add_23[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_53 (Conv2D)              (None, 32, 32, 16)   2304        activation_49[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_53 (BatchNo (None, 32, 32, 16)   64          conv2d_53[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_50 (Activation)      (None, 32, 32, 16)   0           batch_normalization_53[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_54 (Conv2D)              (None, 32, 32, 16)   2304        activation_50[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_54 (BatchNo (None, 32, 32, 16)   64          conv2d_54[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_24 (Add)                    (None, 32, 32, 16)   0           activation_49[0][0]              \n",
      "                                                                 batch_normalization_54[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_51 (Activation)      (None, 32, 32, 16)   0           add_24[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_56 (Conv2D)              (None, 16, 16, 32)   4608        activation_51[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_56 (BatchNo (None, 16, 16, 32)   128         conv2d_56[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_52 (Activation)      (None, 16, 16, 32)   0           batch_normalization_56[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_55 (Conv2D)              (None, 16, 16, 32)   512         activation_51[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_57 (Conv2D)              (None, 16, 16, 32)   9216        activation_52[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_55 (BatchNo (None, 16, 16, 32)   128         conv2d_55[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_57 (BatchNo (None, 16, 16, 32)   128         conv2d_57[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_25 (Add)                    (None, 16, 16, 32)   0           batch_normalization_55[0][0]     \n",
      "                                                                 batch_normalization_57[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_53 (Activation)      (None, 16, 16, 32)   0           add_25[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_58 (Conv2D)              (None, 16, 16, 32)   9216        activation_53[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_58 (BatchNo (None, 16, 16, 32)   128         conv2d_58[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_54 (Activation)      (None, 16, 16, 32)   0           batch_normalization_58[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_59 (Conv2D)              (None, 16, 16, 32)   9216        activation_54[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_59 (BatchNo (None, 16, 16, 32)   128         conv2d_59[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_26 (Add)                    (None, 16, 16, 32)   0           activation_53[0][0]              \n",
      "                                                                 batch_normalization_59[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_55 (Activation)      (None, 16, 16, 32)   0           add_26[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_60 (Conv2D)              (None, 16, 16, 32)   9216        activation_55[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_60 (BatchNo (None, 16, 16, 32)   128         conv2d_60[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_56 (Activation)      (None, 16, 16, 32)   0           batch_normalization_60[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_61 (Conv2D)              (None, 16, 16, 32)   9216        activation_56[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_61 (BatchNo (None, 16, 16, 32)   128         conv2d_61[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_27 (Add)                    (None, 16, 16, 32)   0           activation_55[0][0]              \n",
      "                                                                 batch_normalization_61[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_57 (Activation)      (None, 16, 16, 32)   0           add_27[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_62 (Conv2D)              (None, 16, 16, 32)   9216        activation_57[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_62 (BatchNo (None, 16, 16, 32)   128         conv2d_62[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_58 (Activation)      (None, 16, 16, 32)   0           batch_normalization_62[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_63 (Conv2D)              (None, 16, 16, 32)   9216        activation_58[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_63 (BatchNo (None, 16, 16, 32)   128         conv2d_63[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_28 (Add)                    (None, 16, 16, 32)   0           activation_57[0][0]              \n",
      "                                                                 batch_normalization_63[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_59 (Activation)      (None, 16, 16, 32)   0           add_28[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_64 (Conv2D)              (None, 16, 16, 32)   9216        activation_59[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_64 (BatchNo (None, 16, 16, 32)   128         conv2d_64[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_60 (Activation)      (None, 16, 16, 32)   0           batch_normalization_64[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_65 (Conv2D)              (None, 16, 16, 32)   9216        activation_60[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_65 (BatchNo (None, 16, 16, 32)   128         conv2d_65[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_29 (Add)                    (None, 16, 16, 32)   0           activation_59[0][0]              \n",
      "                                                                 batch_normalization_65[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_61 (Activation)      (None, 16, 16, 32)   0           add_29[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_67 (Conv2D)              (None, 8, 8, 64)     18432       activation_61[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_67 (BatchNo (None, 8, 8, 64)     256         conv2d_67[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_62 (Activation)      (None, 8, 8, 64)     0           batch_normalization_67[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_66 (Conv2D)              (None, 8, 8, 64)     2048        activation_61[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_68 (Conv2D)              (None, 8, 8, 64)     36864       activation_62[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_66 (BatchNo (None, 8, 8, 64)     256         conv2d_66[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_68 (BatchNo (None, 8, 8, 64)     256         conv2d_68[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_30 (Add)                    (None, 8, 8, 64)     0           batch_normalization_66[0][0]     \n",
      "                                                                 batch_normalization_68[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_63 (Activation)      (None, 8, 8, 64)     0           add_30[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_69 (Conv2D)              (None, 8, 8, 64)     36864       activation_63[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_69 (BatchNo (None, 8, 8, 64)     256         conv2d_69[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_64 (Activation)      (None, 8, 8, 64)     0           batch_normalization_69[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_70 (Conv2D)              (None, 8, 8, 64)     36864       activation_64[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_70 (BatchNo (None, 8, 8, 64)     256         conv2d_70[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_31 (Add)                    (None, 8, 8, 64)     0           activation_63[0][0]              \n",
      "                                                                 batch_normalization_70[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_65 (Activation)      (None, 8, 8, 64)     0           add_31[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_71 (Conv2D)              (None, 8, 8, 64)     36864       activation_65[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_71 (BatchNo (None, 8, 8, 64)     256         conv2d_71[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_66 (Activation)      (None, 8, 8, 64)     0           batch_normalization_71[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_72 (Conv2D)              (None, 8, 8, 64)     36864       activation_66[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_72 (BatchNo (None, 8, 8, 64)     256         conv2d_72[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_32 (Add)                    (None, 8, 8, 64)     0           activation_65[0][0]              \n",
      "                                                                 batch_normalization_72[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_67 (Activation)      (None, 8, 8, 64)     0           add_32[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_73 (Conv2D)              (None, 8, 8, 64)     36864       activation_67[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_73 (BatchNo (None, 8, 8, 64)     256         conv2d_73[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_68 (Activation)      (None, 8, 8, 64)     0           batch_normalization_73[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_74 (Conv2D)              (None, 8, 8, 64)     36864       activation_68[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_74 (BatchNo (None, 8, 8, 64)     256         conv2d_74[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_33 (Add)                    (None, 8, 8, 64)     0           activation_67[0][0]              \n",
      "                                                                 batch_normalization_74[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_69 (Activation)      (None, 8, 8, 64)     0           add_33[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_75 (Conv2D)              (None, 8, 8, 64)     36864       activation_69[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_75 (BatchNo (None, 8, 8, 64)     256         conv2d_75[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_70 (Activation)      (None, 8, 8, 64)     0           batch_normalization_75[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_76 (Conv2D)              (None, 8, 8, 64)     36864       activation_70[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_76 (BatchNo (None, 8, 8, 64)     256         conv2d_76[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_34 (Add)                    (None, 8, 8, 64)     0           activation_69[0][0]              \n",
      "                                                                 batch_normalization_76[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_71 (Activation)      (None, 8, 8, 64)     0           add_34[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "average_pooling2d_2 (AveragePoo (None, 1, 1, 64)     0           activation_71[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "flatten_2 (Flatten)             (None, 64)           0           average_pooling2d_2[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "dense_2 (Dense)                 (None, 10)           650         flatten_2[0][0]                  \n",
      "==================================================================================================\n",
      "Total params: 469,370\n",
      "Trainable params: 466,906\n",
      "Non-trainable params: 2,464\n",
      "__________________________________________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "from classifiers.ResNet import ResNet32ForCIFAR10\n",
    "from keras import losses\n",
    "from keras import optimizers\n",
    "\n",
    "weight_decay = 1e-4\n",
    "lr = 1e-1\n",
    "num_classes = 10\n",
    "resnet32 = ResNet32ForCIFAR10(input_shape=(32, 32, 3), classes=num_classes, weight_decay=weight_decay)\n",
    "opt = optimizers.SGD(lr=lr, momentum=0.9, nesterov=False)\n",
    "resnet32.compile(optimizer=opt,\n",
    "                 loss=losses.categorical_crossentropy,\n",
    "                 metrics=['accuracy'])\n",
    "resnet32.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train with data augmentation\n",
      "Epoch 1/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 38s 109ms/step - loss: 2.1557 - acc: 0.2694 - val_loss: 2.8531 - val_acc: 0.2622\n",
      "Epoch 2/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 1.6408 - acc: 0.4451 - val_loss: 1.7122 - val_acc: 0.4564\n",
      "Epoch 3/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 76ms/step - loss: 1.3569 - acc: 0.5631 - val_loss: 1.3228 - val_acc: 0.5820\n",
      "Epoch 4/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 1.1406 - acc: 0.6460 - val_loss: 1.4607 - val_acc: 0.5680\n",
      "Epoch 5/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 0.9801 - acc: 0.7086 - val_loss: 1.0653 - val_acc: 0.7036\n",
      "Epoch 6/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 76ms/step - loss: 0.8899 - acc: 0.7438 - val_loss: 1.0156 - val_acc: 0.6980\n",
      "Epoch 7/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 80ms/step - loss: 0.8283 - acc: 0.7674 - val_loss: 1.0102 - val_acc: 0.7148\n",
      "Epoch 8/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.7735 - acc: 0.7862 - val_loss: 0.7785 - val_acc: 0.7992\n",
      "Epoch 9/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.7376 - acc: 0.7996 - val_loss: 1.0936 - val_acc: 0.6842\n",
      "Epoch 10/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.7000 - acc: 0.8138 - val_loss: 0.9188 - val_acc: 0.7480\n",
      "Epoch 11/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 91ms/step - loss: 0.6774 - acc: 0.8214 - val_loss: 0.8512 - val_acc: 0.7730\n",
      "Epoch 12/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 88ms/step - loss: 0.6567 - acc: 0.8291 - val_loss: 0.8157 - val_acc: 0.7798\n",
      "Epoch 13/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.6343 - acc: 0.8401 - val_loss: 1.0767 - val_acc: 0.7314\n",
      "Epoch 14/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 88ms/step - loss: 0.6127 - acc: 0.8457 - val_loss: 1.1270 - val_acc: 0.6896\n",
      "Epoch 15/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.6048 - acc: 0.8512 - val_loss: 1.0082 - val_acc: 0.7408\n",
      "Epoch 16/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 88ms/step - loss: 0.5889 - acc: 0.8558 - val_loss: 0.6883 - val_acc: 0.8314\n",
      "Epoch 17/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.5869 - acc: 0.8588 - val_loss: 1.1521 - val_acc: 0.7268\n",
      "Epoch 18/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 87ms/step - loss: 0.5777 - acc: 0.8613 - val_loss: 0.8360 - val_acc: 0.7870\n",
      "Epoch 19/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 88ms/step - loss: 0.5654 - acc: 0.8663 - val_loss: 0.8711 - val_acc: 0.7738\n",
      "Epoch 20/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 87ms/step - loss: 0.5608 - acc: 0.8699 - val_loss: 0.7438 - val_acc: 0.8144\n",
      "Epoch 21/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 88ms/step - loss: 0.5463 - acc: 0.8738 - val_loss: 0.7676 - val_acc: 0.8080\n",
      "Epoch 22/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.5368 - acc: 0.8774 - val_loss: 0.7614 - val_acc: 0.8172\n",
      "Epoch 23/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 92ms/step - loss: 0.5368 - acc: 0.8793 - val_loss: 0.8708 - val_acc: 0.7810\n",
      "Epoch 24/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 92ms/step - loss: 0.5303 - acc: 0.8818 - val_loss: 0.8239 - val_acc: 0.7912\n",
      "Epoch 25/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.5257 - acc: 0.8830 - val_loss: 0.6454 - val_acc: 0.8462\n",
      "Epoch 26/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.5276 - acc: 0.8820 - val_loss: 0.7805 - val_acc: 0.8048\n",
      "Epoch 27/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.5196 - acc: 0.8851 - val_loss: 1.3232 - val_acc: 0.7002\n",
      "Epoch 28/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.5177 - acc: 0.8896 - val_loss: 0.8011 - val_acc: 0.8160\n",
      "Epoch 29/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 92ms/step - loss: 0.5123 - acc: 0.8903 - val_loss: 0.8579 - val_acc: 0.7914\n",
      "Epoch 30/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 35s 100ms/step - loss: 0.5068 - acc: 0.8917 - val_loss: 0.8015 - val_acc: 0.8110\n",
      "Epoch 31/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 35s 99ms/step - loss: 0.5097 - acc: 0.8924 - val_loss: 0.7653 - val_acc: 0.8250\n",
      "Epoch 32/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 34s 96ms/step - loss: 0.5039 - acc: 0.8938 - val_loss: 0.8416 - val_acc: 0.7970\n",
      "Epoch 33/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 34s 96ms/step - loss: 0.5010 - acc: 0.8962 - val_loss: 0.7216 - val_acc: 0.8330\n",
      "Epoch 34/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 34s 97ms/step - loss: 0.4993 - acc: 0.8976 - val_loss: 0.6480 - val_acc: 0.8576\n",
      "Epoch 35/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 34s 97ms/step - loss: 0.4922 - acc: 0.8997 - val_loss: 0.6837 - val_acc: 0.8426\n",
      "Epoch 36/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 34s 96ms/step - loss: 0.4981 - acc: 0.8992 - val_loss: 0.7448 - val_acc: 0.8302\n",
      "Epoch 37/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 34s 96ms/step - loss: 0.4947 - acc: 0.8997 - val_loss: 0.8716 - val_acc: 0.8136\n",
      "Epoch 38/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 0.4956 - acc: 0.9012 - val_loss: 0.6952 - val_acc: 0.8448\n",
      "Epoch 39/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 95ms/step - loss: 0.4850 - acc: 0.9048 - val_loss: 0.9696 - val_acc: 0.7694\n",
      "Epoch 40/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.4929 - acc: 0.9013 - val_loss: 0.7654 - val_acc: 0.8264\n",
      "Epoch 41/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 91ms/step - loss: 0.4796 - acc: 0.9065 - val_loss: 0.7828 - val_acc: 0.8228\n",
      "Epoch 42/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.4785 - acc: 0.9076 - val_loss: 0.6767 - val_acc: 0.8426\n",
      "Epoch 43/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 92ms/step - loss: 0.4833 - acc: 0.9050 - val_loss: 0.6627 - val_acc: 0.8560\n",
      "Epoch 44/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 92ms/step - loss: 0.4790 - acc: 0.9080 - val_loss: 0.7128 - val_acc: 0.8334\n",
      "Epoch 45/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.4759 - acc: 0.9101 - val_loss: 0.7023 - val_acc: 0.8390\n",
      "Epoch 46/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 92ms/step - loss: 0.4738 - acc: 0.9101 - val_loss: 0.7931 - val_acc: 0.8212\n",
      "Epoch 47/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 95ms/step - loss: 0.4745 - acc: 0.9090 - val_loss: 0.7718 - val_acc: 0.8290\n",
      "Epoch 48/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 87ms/step - loss: 0.4768 - acc: 0.9103 - val_loss: 0.7429 - val_acc: 0.8314\n",
      "Epoch 49/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.4726 - acc: 0.9103 - val_loss: 0.8237 - val_acc: 0.8168\n",
      "Epoch 50/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.4730 - acc: 0.9116 - val_loss: 0.7438 - val_acc: 0.8310\n",
      "Epoch 51/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.4696 - acc: 0.9121 - val_loss: 0.6814 - val_acc: 0.8486\n",
      "Epoch 52/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.4693 - acc: 0.9124 - val_loss: 0.6439 - val_acc: 0.8606\n",
      "Epoch 53/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 87ms/step - loss: 0.4675 - acc: 0.9133 - val_loss: 0.6963 - val_acc: 0.8454\n",
      "Epoch 54/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 88ms/step - loss: 0.4643 - acc: 0.9149 - val_loss: 0.7272 - val_acc: 0.8346\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 55/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.4653 - acc: 0.9150 - val_loss: 0.8679 - val_acc: 0.7980\n",
      "Epoch 56/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.4642 - acc: 0.9156 - val_loss: 0.8163 - val_acc: 0.8092\n",
      "Epoch 57/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.4632 - acc: 0.9153 - val_loss: 0.8447 - val_acc: 0.8198\n",
      "Epoch 58/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.4719 - acc: 0.9122 - val_loss: 0.6929 - val_acc: 0.8550\n",
      "Epoch 59/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.4605 - acc: 0.9188 - val_loss: 0.7906 - val_acc: 0.8196\n",
      "Epoch 60/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.4614 - acc: 0.9163 - val_loss: 0.8057 - val_acc: 0.8174\n",
      "Epoch 61/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 84ms/step - loss: 0.4582 - acc: 0.9175 - val_loss: 0.8892 - val_acc: 0.7918\n",
      "Epoch 62/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.4564 - acc: 0.9180 - val_loss: 0.7538 - val_acc: 0.8358\n",
      "Epoch 63/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 84ms/step - loss: 0.4529 - acc: 0.9197 - val_loss: 0.8373 - val_acc: 0.8134\n",
      "Epoch 64/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.4580 - acc: 0.9199 - val_loss: 0.8642 - val_acc: 0.8086\n",
      "Epoch 65/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.4561 - acc: 0.9186 - val_loss: 0.7061 - val_acc: 0.8490\n",
      "Epoch 66/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 87ms/step - loss: 0.4567 - acc: 0.9205 - val_loss: 0.7795 - val_acc: 0.8328\n",
      "Epoch 67/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.4538 - acc: 0.9210 - val_loss: 0.8965 - val_acc: 0.7960\n",
      "Epoch 68/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.4550 - acc: 0.9203 - val_loss: 0.7990 - val_acc: 0.8264\n",
      "Epoch 69/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.4541 - acc: 0.9195 - val_loss: 0.8574 - val_acc: 0.8202\n",
      "Epoch 70/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.4526 - acc: 0.9214 - val_loss: 1.1028 - val_acc: 0.7424\n",
      "Epoch 71/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.4524 - acc: 0.9219 - val_loss: 0.8130 - val_acc: 0.8244\n",
      "Epoch 72/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 92ms/step - loss: 0.4526 - acc: 0.9220 - val_loss: 0.8054 - val_acc: 0.8268\n",
      "Epoch 73/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 92ms/step - loss: 0.4511 - acc: 0.9221 - val_loss: 0.7193 - val_acc: 0.8498\n",
      "Epoch 74/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 91ms/step - loss: 0.4461 - acc: 0.9240 - val_loss: 0.8872 - val_acc: 0.8018\n",
      "Epoch 75/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.4467 - acc: 0.9250 - val_loss: 0.7891 - val_acc: 0.8274\n",
      "Epoch 76/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 91ms/step - loss: 0.4525 - acc: 0.9215 - val_loss: 0.6574 - val_acc: 0.8714\n",
      "Epoch 77/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 92ms/step - loss: 0.4537 - acc: 0.9219 - val_loss: 0.7790 - val_acc: 0.8316\n",
      "Epoch 78/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.4453 - acc: 0.9261 - val_loss: 0.7683 - val_acc: 0.8288\n",
      "Epoch 79/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.4440 - acc: 0.9251 - val_loss: 0.7794 - val_acc: 0.8302\n",
      "Epoch 80/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.4478 - acc: 0.9236 - val_loss: 0.7968 - val_acc: 0.8232\n",
      "Epoch 81/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.4464 - acc: 0.9249 - val_loss: 0.6814 - val_acc: 0.8568\n",
      "Epoch 82/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 91ms/step - loss: 0.4470 - acc: 0.9238 - val_loss: 0.6895 - val_acc: 0.8576\n",
      "Epoch 83/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.4415 - acc: 0.9267 - val_loss: 0.6709 - val_acc: 0.8540\n",
      "Epoch 84/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 88ms/step - loss: 0.4394 - acc: 0.9275 - val_loss: 0.7738 - val_acc: 0.8428\n",
      "Epoch 85/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.4496 - acc: 0.9221 - val_loss: 0.6837 - val_acc: 0.8550\n",
      "Epoch 86/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 0.4422 - acc: 0.9273 - val_loss: 0.6720 - val_acc: 0.8564\n",
      "Epoch 87/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 0.4418 - acc: 0.9268 - val_loss: 0.9229 - val_acc: 0.7932\n",
      "Epoch 88/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 92ms/step - loss: 0.4417 - acc: 0.9278 - val_loss: 0.7147 - val_acc: 0.8600\n",
      "Epoch 89/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 92ms/step - loss: 0.4446 - acc: 0.9269 - val_loss: 0.9273 - val_acc: 0.8044\n",
      "Epoch 90/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 0.4372 - acc: 0.9305 - val_loss: 0.8760 - val_acc: 0.8270\n",
      "Epoch 91/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 92ms/step - loss: 0.4454 - acc: 0.9256 - val_loss: 0.6085 - val_acc: 0.8742\n",
      "Epoch 92/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 32s 92ms/step - loss: 0.4378 - acc: 0.9283 - val_loss: 0.7291 - val_acc: 0.8532\n",
      "Epoch 93/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 0.3670 - acc: 0.9543 - val_loss: 0.4845 - val_acc: 0.9196\n",
      "Epoch 94/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 0.3252 - acc: 0.9686 - val_loss: 0.4808 - val_acc: 0.9246\n",
      "Epoch 95/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 0.3051 - acc: 0.9747 - val_loss: 0.4816 - val_acc: 0.9236\n",
      "Epoch 96/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 95ms/step - loss: 0.2943 - acc: 0.9763 - val_loss: 0.4855 - val_acc: 0.9216\n",
      "Epoch 97/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 0.2875 - acc: 0.9780 - val_loss: 0.4794 - val_acc: 0.9230\n",
      "Epoch 98/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 95ms/step - loss: 0.2767 - acc: 0.9809 - val_loss: 0.4794 - val_acc: 0.9232\n",
      "Epoch 99/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 95ms/step - loss: 0.2693 - acc: 0.9817 - val_loss: 0.4728 - val_acc: 0.9264\n",
      "Epoch 100/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 35s 99ms/step - loss: 0.2647 - acc: 0.9825 - val_loss: 0.4734 - val_acc: 0.9242\n",
      "Epoch 101/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 36s 101ms/step - loss: 0.2577 - acc: 0.9845 - val_loss: 0.4848 - val_acc: 0.9250\n",
      "Epoch 102/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 36s 102ms/step - loss: 0.2527 - acc: 0.9848 - val_loss: 0.4751 - val_acc: 0.9252\n",
      "Epoch 103/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 36s 101ms/step - loss: 0.2459 - acc: 0.9860 - val_loss: 0.4745 - val_acc: 0.9260\n",
      "Epoch 104/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 35s 101ms/step - loss: 0.2403 - acc: 0.9876 - val_loss: 0.4745 - val_acc: 0.9266\n",
      "Epoch 105/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 36s 101ms/step - loss: 0.2366 - acc: 0.9882 - val_loss: 0.4816 - val_acc: 0.9266\n",
      "Epoch 106/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 35s 99ms/step - loss: 0.2296 - acc: 0.9898 - val_loss: 0.4797 - val_acc: 0.9266\n",
      "Epoch 107/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 35s 100ms/step - loss: 0.2270 - acc: 0.9897 - val_loss: 0.4784 - val_acc: 0.9274\n",
      "Epoch 108/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 35s 99ms/step - loss: 0.2226 - acc: 0.9900 - val_loss: 0.4804 - val_acc: 0.9276\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 109/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 96ms/step - loss: 0.2215 - acc: 0.9897 - val_loss: 0.4910 - val_acc: 0.9252\n",
      "Epoch 110/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 98ms/step - loss: 0.2151 - acc: 0.9909 - val_loss: 0.4956 - val_acc: 0.9250\n",
      "Epoch 111/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 97ms/step - loss: 0.2124 - acc: 0.9911 - val_loss: 0.4797 - val_acc: 0.9278\n",
      "Epoch 112/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 98ms/step - loss: 0.2096 - acc: 0.9910 - val_loss: 0.4875 - val_acc: 0.9276\n",
      "Epoch 113/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 35s 99ms/step - loss: 0.2044 - acc: 0.9919 - val_loss: 0.4855 - val_acc: 0.9258\n",
      "Epoch 114/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 36s 102ms/step - loss: 0.2018 - acc: 0.9925 - val_loss: 0.5005 - val_acc: 0.9242\n",
      "Epoch 115/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 35s 99ms/step - loss: 0.1985 - acc: 0.9924 - val_loss: 0.4990 - val_acc: 0.9240\n",
      "Epoch 116/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 97ms/step - loss: 0.1958 - acc: 0.9926 - val_loss: 0.4927 - val_acc: 0.9250\n",
      "Epoch 117/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 97ms/step - loss: 0.1921 - acc: 0.9930 - val_loss: 0.4762 - val_acc: 0.9294\n",
      "Epoch 118/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.1900 - acc: 0.9933 - val_loss: 0.4841 - val_acc: 0.9268\n",
      "Epoch 119/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 32s 92ms/step - loss: 0.1861 - acc: 0.9938 - val_loss: 0.4814 - val_acc: 0.9278\n",
      "Epoch 120/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.1833 - acc: 0.9938 - val_loss: 0.4877 - val_acc: 0.9288\n",
      "Epoch 121/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 31s 88ms/step - loss: 0.1829 - acc: 0.9933 - val_loss: 0.4722 - val_acc: 0.9320\n",
      "Epoch 122/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 32s 91ms/step - loss: 0.1792 - acc: 0.9939 - val_loss: 0.4947 - val_acc: 0.9244\n",
      "Epoch 123/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 96ms/step - loss: 0.1766 - acc: 0.9939 - val_loss: 0.4718 - val_acc: 0.9304\n",
      "Epoch 124/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 95ms/step - loss: 0.1742 - acc: 0.9943 - val_loss: 0.5234 - val_acc: 0.9232\n",
      "Epoch 125/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 95ms/step - loss: 0.1709 - acc: 0.9947 - val_loss: 0.4900 - val_acc: 0.9230\n",
      "Epoch 126/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 98ms/step - loss: 0.1707 - acc: 0.9939 - val_loss: 0.5020 - val_acc: 0.9236\n",
      "Epoch 127/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 97ms/step - loss: 0.1682 - acc: 0.9940 - val_loss: 0.4894 - val_acc: 0.9268\n",
      "Epoch 128/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 35s 100ms/step - loss: 0.1655 - acc: 0.9945 - val_loss: 0.4943 - val_acc: 0.9254\n",
      "Epoch 129/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 35s 98ms/step - loss: 0.1636 - acc: 0.9947 - val_loss: 0.4838 - val_acc: 0.9270\n",
      "Epoch 130/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 97ms/step - loss: 0.1623 - acc: 0.9943 - val_loss: 0.4903 - val_acc: 0.9256\n",
      "Epoch 131/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 96ms/step - loss: 0.1600 - acc: 0.9944 - val_loss: 0.4960 - val_acc: 0.9248\n",
      "Epoch 132/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 97ms/step - loss: 0.1575 - acc: 0.9945 - val_loss: 0.4947 - val_acc: 0.9226\n",
      "Epoch 133/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 97ms/step - loss: 0.1550 - acc: 0.9949 - val_loss: 0.4871 - val_acc: 0.9262\n",
      "Epoch 134/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 0.1537 - acc: 0.9945 - val_loss: 0.4950 - val_acc: 0.9230\n",
      "Epoch 135/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 33s 95ms/step - loss: 0.1515 - acc: 0.9949 - val_loss: 0.4888 - val_acc: 0.9248\n",
      "Epoch 136/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 95ms/step - loss: 0.1510 - acc: 0.9944 - val_loss: 0.5316 - val_acc: 0.9226\n",
      "Epoch 137/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 98ms/step - loss: 0.1492 - acc: 0.9948 - val_loss: 0.5003 - val_acc: 0.9248\n",
      "Epoch 138/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 34s 97ms/step - loss: 0.1464 - acc: 0.9953 - val_loss: 0.5170 - val_acc: 0.9216\n",
      "Epoch 139/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 34s 97ms/step - loss: 0.1438 - acc: 0.9956 - val_loss: 0.4787 - val_acc: 0.9286\n",
      "Epoch 140/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 0.1412 - acc: 0.9966 - val_loss: 0.4799 - val_acc: 0.9302\n",
      "Epoch 141/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.1398 - acc: 0.9972 - val_loss: 0.4779 - val_acc: 0.9320\n",
      "Epoch 142/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 33s 93ms/step - loss: 0.1387 - acc: 0.9974 - val_loss: 0.4769 - val_acc: 0.9310\n",
      "Epoch 143/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 33s 92ms/step - loss: 0.1387 - acc: 0.9976 - val_loss: 0.4768 - val_acc: 0.9310\n",
      "Epoch 144/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 32s 91ms/step - loss: 0.1378 - acc: 0.9978 - val_loss: 0.4769 - val_acc: 0.9316\n",
      "Epoch 145/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.1374 - acc: 0.9977 - val_loss: 0.4758 - val_acc: 0.9314\n",
      "Epoch 146/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.1368 - acc: 0.9979 - val_loss: 0.4745 - val_acc: 0.9302\n",
      "Epoch 147/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 32s 90ms/step - loss: 0.1361 - acc: 0.9983 - val_loss: 0.4737 - val_acc: 0.9312\n",
      "Epoch 148/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 31s 89ms/step - loss: 0.1366 - acc: 0.9980 - val_loss: 0.4751 - val_acc: 0.9312\n",
      "Epoch 149/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 31s 88ms/step - loss: 0.1357 - acc: 0.9981 - val_loss: 0.4742 - val_acc: 0.9320\n",
      "Epoch 150/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1354 - acc: 0.9982 - val_loss: 0.4742 - val_acc: 0.9314\n",
      "Epoch 151/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1348 - acc: 0.9983 - val_loss: 0.4736 - val_acc: 0.9322\n",
      "Epoch 152/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1341 - acc: 0.9987 - val_loss: 0.4737 - val_acc: 0.9318\n",
      "Epoch 153/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1342 - acc: 0.9984 - val_loss: 0.4743 - val_acc: 0.9320\n",
      "Epoch 154/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1343 - acc: 0.9985 - val_loss: 0.4766 - val_acc: 0.9326\n",
      "Epoch 155/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.1345 - acc: 0.9983 - val_loss: 0.4737 - val_acc: 0.9320\n",
      "Epoch 156/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1330 - acc: 0.9987 - val_loss: 0.4756 - val_acc: 0.9316\n",
      "Epoch 157/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 84ms/step - loss: 0.1332 - acc: 0.9986 - val_loss: 0.4760 - val_acc: 0.9322\n",
      "Epoch 158/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.1334 - acc: 0.9984 - val_loss: 0.4751 - val_acc: 0.9316\n",
      "Epoch 159/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1327 - acc: 0.9987 - val_loss: 0.4771 - val_acc: 0.9318\n",
      "Epoch 160/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1324 - acc: 0.9989 - val_loss: 0.4759 - val_acc: 0.9334\n",
      "Epoch 161/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1324 - acc: 0.9986 - val_loss: 0.4758 - val_acc: 0.9332\n",
      "Epoch 162/182\n",
      "new lr:1.00e-03\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "352/352 [==============================] - 29s 84ms/step - loss: 0.1320 - acc: 0.9988 - val_loss: 0.4755 - val_acc: 0.9322\n",
      "Epoch 163/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1316 - acc: 0.9987 - val_loss: 0.4759 - val_acc: 0.9316\n",
      "Epoch 164/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 84ms/step - loss: 0.1307 - acc: 0.9991 - val_loss: 0.4755 - val_acc: 0.9328\n",
      "Epoch 165/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.1311 - acc: 0.9989 - val_loss: 0.4777 - val_acc: 0.9328\n",
      "Epoch 166/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 84ms/step - loss: 0.1314 - acc: 0.9983 - val_loss: 0.4758 - val_acc: 0.9326\n",
      "Epoch 167/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1310 - acc: 0.9986 - val_loss: 0.4779 - val_acc: 0.9324\n",
      "Epoch 168/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1309 - acc: 0.9985 - val_loss: 0.4742 - val_acc: 0.9322\n",
      "Epoch 169/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1305 - acc: 0.9986 - val_loss: 0.4731 - val_acc: 0.9328\n",
      "Epoch 170/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1298 - acc: 0.9991 - val_loss: 0.4761 - val_acc: 0.9320\n",
      "Epoch 171/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 84ms/step - loss: 0.1297 - acc: 0.9989 - val_loss: 0.4774 - val_acc: 0.9326\n",
      "Epoch 172/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 84ms/step - loss: 0.1294 - acc: 0.9990 - val_loss: 0.4787 - val_acc: 0.9316\n",
      "Epoch 173/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1292 - acc: 0.9988 - val_loss: 0.4795 - val_acc: 0.9324\n",
      "Epoch 174/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1289 - acc: 0.9990 - val_loss: 0.4814 - val_acc: 0.9328\n",
      "Epoch 175/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1290 - acc: 0.9988 - val_loss: 0.4810 - val_acc: 0.9324\n",
      "Epoch 176/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1288 - acc: 0.9989 - val_loss: 0.4803 - val_acc: 0.9328\n",
      "Epoch 177/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1289 - acc: 0.9988 - val_loss: 0.4799 - val_acc: 0.9322\n",
      "Epoch 178/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.1282 - acc: 0.9990 - val_loss: 0.4803 - val_acc: 0.9330\n",
      "Epoch 179/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.1278 - acc: 0.9992 - val_loss: 0.4807 - val_acc: 0.9328\n",
      "Epoch 180/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.1281 - acc: 0.9990 - val_loss: 0.4788 - val_acc: 0.9332\n",
      "Epoch 181/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.1275 - acc: 0.9990 - val_loss: 0.4750 - val_acc: 0.9334\n",
      "Epoch 182/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1273 - acc: 0.9991 - val_loss: 0.4787 - val_acc: 0.9330\n",
      "CPU times: user 3h 4min 47s, sys: 12min 56s, total: 3h 17min 43s\n",
      "Wall time: 1h 36min 26s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "from cifar10_solver import *\n",
    "# from keras.callbacks import ReduceLROnPlateau\n",
    "from keras.callbacks import LearningRateScheduler\n",
    "\n",
    "def lr_scheduler(epoch):\n",
    "    new_lr = lr\n",
    "    if epoch <= 91:\n",
    "        pass\n",
    "    elif epoch > 91 and epoch <= 137:\n",
    "        new_lr = lr * 0.1\n",
    "    else:\n",
    "        new_lr = lr * 0.01\n",
    "    print('new lr:%.2e' % new_lr)\n",
    "    return new_lr \n",
    "\n",
    "\n",
    "reduce_lr = LearningRateScheduler(lr_scheduler)\n",
    "# reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.1,\n",
    "#                               patience=10, min_lr=1e-6, verbose=1)\n",
    "\n",
    "solver = CIFAR10Solver(resnet32, data)\n",
    "history = solver.train(epochs=182, batch_size=128, data_augmentation=True, callbacks=[reduce_lr])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot loss and acc \n",
    "plot_history(history)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10000/10000 [==============================] - 9s 908us/step\n",
      "test data loss:0.52 acc:0.9234\n"
     ]
    }
   ],
   "source": [
    "solver.test()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
